package cn.tedu.fruitshop.mapper;

import cn.tedu.fruitshop.pojo.entity.Item;
import cn.tedu.fruitshop.pojo.vo.ItemListItemVO;
import cn.tedu.fruitshop.pojo.vo.ItemStandardVO;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author www
 * @create 2022-11-02 20:23
 */
@Repository
public interface ItemMapper {
    /**
     * 添加商品数据
     *
     * @param item 商品数据
     * @return 受影响的行数
     */
    int insert(Item item);

    int insert(String url);

    /**
     * 批量添加商品数据
     *
     * @param items
     * @return 受影响行数
     */
    int insertBatch(List<Item> items);

    /**
     * 根据id删除商品
     *
     * @param id
     * @return 受影响的行数
     */
    int deleteById(Integer id);

    /**
     * 根据id批量删除商品的数据
     *
     * @param ids
     * @return 受影响的行数
     */
    int deleteByIds(Integer[] ids);

    /**
     * 根据id修改商品其他数据的操作
     *
     * @param item 封装了商品id和新的数据
     * @return 受影响的行数
     */
    int update(Item item);

    /**
     * 查询商品表中数据的数量
     *
     * @return 商品表中数据的数量
     */
    int count();

    /**
     * 根据商品名称统计个数
     *
     * @param name 商品名称
     * @return
     */
    int countByName(String name);

    /**
     * 根据商品父类id统计商品
     * @param categoryId 商品id
     * @return
     */
    int countByCategoryId(Integer categoryId);

    /**
     * 根据id查询商品详情
     *
     * @param id 商品id
     * @return 返回商品详情数据
     */
    ItemStandardVO getStandardById(Integer id);

    /**
     * 查询商品详情列表
     *
     * @return 商品详情列表
     */
    List<ItemListItemVO> list(Integer cid,Integer page);

    List<ItemListItemVO> selectByWd(String name);


    List<ItemListItemVO> listAll();


}
